#pragma once

#include <ctime>
#include <cstdlib>
#include <chrono>

class TicToc
{
public:
    TicToc() { tic(); }
    // 获取系统当前时间system_clock给start 起点是epoch,即1970-01-01 0点
    void tic() { start = std::chrono::system_clock::now(); }

    double toc()
    {
        // 获取当前时间给end
        end = std::chrono::system_clock::now();
        // end-start作差求得时间长度
        std::chrono::duration<double> elapsed_seconds = end - start;
        // 把elapsed_seconds的单位 秒 转换成 毫秒 输出
        return elapsed_seconds.count() * 1000;
    }

private:
    std::chrono::time_point<std::chrono::system_clock> start, end;
};
